package core.game;

import core.input.Input;
import core.input.InputManager;

import recorder.input.InputManagerRecorder;
import recorder.input.InputRecorder;

import java.awt.Graphics2D;

public abstract class Game{
	
	protected String name;
	protected int width;
	protected int height;
	protected Input input;
	protected InputManager inputManager;
	
	public Game(String name){
		this.name = name;
		inputManager = new InputManagerRecorder();
		input = new InputRecorder();
	}
	
	public int getWidth(){
		return width;
	}
	
	public int getHeight(){
		return height;
	}
	
	public String getName(){
		return name;
	}
	
	public Input getInput(){
		return input;
	}
	
	public abstract void init();
	
	public abstract void update(int deltaTime);
	
	public abstract void render(Graphics2D g);

}
